package com.example.redisjson.repositories.json;

import com.example.redisjson.dto.User;
import com.redis.om.spring.repository.RedisEnhancedRepository;

import java.util.List;
import java.util.Optional;

public interface UserRepository extends RedisEnhancedRepository<User, String> {

    Optional<User> findOneByLastName(String lastName);

    List<User> findByFirstNameAndLastName(String firstName, String lastName);

    boolean existsByEmail(String email);
}

// RedisEnhancedRepository 对应 RedisJSON 的仓库接口，Product 为实体类，String 为主键类型。
// 这个接口和 RedisSearch 的仓库接口 RedisDocumentRepository 类似，不要混淆
// 仓库接口不用去实现，类似 JPA 的 Repository 接口，只需要定义方法即可。会自动生成实现类。但方法的命名方式必须遵循 RediSearch 的命名规范，否则会报错。